package com.ruoyi.contarctbill.service;

import java.util.List;

import com.ruoyi.contarct.domain.HouseContarct;
import com.ruoyi.contarctbill.domain.HouseContarctBill;
import com.ruoyi.contarctbill.dto.CustomBillDTO;

/**
 * 账单Service接口
 * 
 * @author hct
 * @date 2022-02-16
 */
public interface IHouseContarctBillService 
{
    /**
     * 查询账单
     * 
     * @param id 账单主键
     * @return 账单
     */
    public HouseContarctBill selectHouseContarctBillById(Long id);

    /**
     * 查询账单列表
     * 
     * @param houseContarctBill 账单
     * @return 账单集合
     */
    public List<HouseContarctBill> selectHouseContarctBillList(HouseContarctBill houseContarctBill);

    /**
     *
     * @param houseContarcts
     * @param houseContarctBill
     * @return
     */
    public List<HouseContarctBill> selectHouseContarctBillAllData(List<HouseContarct> houseContarcts, HouseContarctBill houseContarctBill);


    /**
     * 新增账单
     * 
     * @param houseContarctBill 账单
     * @return 结果
     */
    public int insertHouseContarctBill(HouseContarctBill houseContarctBill);

    /**
     * 修改账单
     * 
     * @param houseContarctBill 账单
     * @return 结果
     */
    public int updateHouseContarctBill(HouseContarctBill houseContarctBill);

    /**
     * 批量删除账单
     * 
     * @param ids 需要删除的账单主键集合
     * @return 结果
     */
    public int deleteHouseContarctBillByIds(Long[] ids);

    /**
     * 删除账单信息
     * 
     * @param id 账单主键
     * @return 结果
     */
    public int deleteHouseContarctBillById(Long id);

    /**
     *  获取当月账单明细
     * @return
     */
    public Object getCurrMonthBiiList() throws Exception;


    /**
     * 添加自定义账单
     * @param customBillDTO
     * @return
     * @throws Exception
     */
    public Object addCustomBill(CustomBillDTO customBillDTO, String userName) throws Exception;

    public List<HouseContarctBill> selectHouseContarctBillListBy(HouseContarctBill houseContarctBill);

}
